//--------------------------------------------------------------------------------------------------------
// 
// Author: Zachary Gay
// Date: 8/23/2012
// Copyright (c) 2012 Zachary Gay.  All Rights Reserved.
//
// Filename: ManaProducer.h
// Description:  The ManaProducer class represents a specific type of 'card,' one that can produce its own mana.
//                  Any type of card that produces mana (lands, artifacts, creatures, etc.) is a ManaProducer.
//
//--------------------------------------------------------------------------------------------------------

#import <Foundation/Foundation.h>
#import "Card.h"

@class ManaGroup;

@interface ManaProducer : Card
{
    BOOL tappableOnFirstTurn;
}

@property (nonatomic, strong) NSArray *manaProducingAbilities;

- (ManaProducer *) initWithManaCostOrNil: (ManaGroup *) _manaCost 
                      manaProducingAbilities: (NSArray *) _manaProducingAbilities
                   andTappableOnFirstTurn: (BOOL) _tappableOnFirstTurn;

- (void) produceMana;

@end
